home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d3
/
dbmail.arc
/
ML0010A.PRG
< prev
next >
Wrap
Text File
|
1988-06-18
|
3KB
|
142 lines
NOTE ML0010A - ENTER CODES TO DELETE (MODIFIED UPDATE CODES FIELD) 9/23/84
NOTE CODES STORED IN VARIABLE VAR AND RETURNED IN THAT FIELD
NOTE OFSET IS STARTING LINE LOCATION ON SCREEN FOR DISPLAY
NOTE MAX IS MAXIMUM CHARACTERS ALLOWED IN CODE FIELD
NOTE DELIM IS DELIMITER TO SEPARATE CODES. INVALID IN CODE FIELD
SET TALK OFF
CLEAR GETS
STORE 2 TO CC
STORE 0 TO V
STORE LEN(VAR) TO L
STORE @(DELIM, VAR) TO N
STORE N>0 TO OK
DO WHILE OK.AND.V<19
STORE L-N TO L
STORE L>0 TO OK
IF OK
STORE $(VAR,N+1,L) TO VAR
STORE @(DELIM, VAR) TO N
STORE N>0 TO OK
ENDIF
IF OK .AND. N>1
STORE V+1 TO V
STORE STR(V,1+INT(V/10) ) TO VC
STORE $(VAR,1,N-1) TO CD&VC
STORE LEN(CD&VC) TO L&VC
STORE CC+L&VC +1 TO CC
ENDIF
ENDDO
STORE 0 TO L,M,N
DO ML0015
@ 19,0
@ 20,0
@ 21,0
@ 21,0 SAY '----- INDICATOR(****) MOVEMENT AND FIELD UPDATE CODES ------ Char. Remain '
@ 22,0 SAY ' M Modify Indicated Code D Delete Code A Add Code E Exit'
@ 23,0 SAY ' Move Indicator B Backward 1 Field <anything else> Forward 1 Field '
STORE T TO OK
STORE 0 TO N
STORE V>0 TO VI
IF VI
STORE CC-1 TO CC
ENDIF
DO WHILE OK
IF VI
STORE N+1 TO N
IF N>V
STORE 1 TO N
ENDIF
STORE STR(N,1+INT(N/10) ) TO VC
STORE $('**********',1,L&VC) TO VAR
@ OFSET+LI&VC,M&VC+1 SAY VAR
ENDIF {v>0}
@ 21,77 SAY MAX-CC USING '999'
SET COLON OFF
SET BELL OFF
@ 22,1 SAY ' '
STORE ' ' TO R
@ 22,2 GET R PICTURE '!'
READ
@ 22,1 SAY 'wait'
SET COLON ON
SET BELL ON
IF VI
STORE $(' ',1,L&VC) TO VAR
@ OFSET+LI&VC,M&VC+1 SAY VAR
ENDIF
DO CASE
CASE R='B'.AND.VI
IF N<2
STORE V-1 TO N
ELSE
STORE N-2 TO N
ENDIF
CASE R='E'
STORE F TO OK
CASE R='D'.AND.VI
STORE CC-L&VC -1 TO CC
STORE M&VC TO M
STORE LI&VC -1 TO L
STORE N TO HN
DO WHILE N<V
STORE N+1 TO N
STORE STR(N,1+INT(N/10) ) TO R
STORE CD&R TO CD&VC
STORE L&R TO L&VC
STORE LI&R TO LI&VC
STORE M&R TO M&VC
STORE R TO VC
ENDDO
STORE STR(V,1+INT(V/10) ) TO VC
@ OFSET+LI&VC-1, M&VC
RELEASE CD&VC,L&VC,LI&VC,M&VC
STORE V-1 TO V
IF HN>V
STORE V TO N
ELSE
STORE HN-1 TO N,HN
DO ML0015
STORE HN TO N
ENDIF
STORE V>0 TO VI
IF .NOT.VI
STORE 2 TO CC
ENDIF
CASE R='M'.AND.VI
STORE STR(N,1+INT(N/10) ) TO VC
STORE $(CD&VC + ' ',1,78) TO VAR
DO ML0011
CASE R='A'
STORE ' ' TO VAR
DO ML0011
ENDCASE
ENDDO {ok}
STORE 0 TO N
DO WHILE N<V
STORE N+1 TO N
STORE STR(N,1+INT(N/10) ) TO VC
STORE DELIM+CD&VC +DELIM TO CD&VC
STORE L&VC +2 TO L&VC
RELEASE LI&VC,M&VC
ENDDO
RELEASE CC,L,M,N,OK,VC,VI,ML,R,HN,XX
RETURN
DELIM+CD&VC +DELIM TO CD&VC
STORE L&VC +2 TO L&VC
RELEASE LI&VC,M&VC
ENDDO
RELEASE CC,L,M,N,OK,VC,VI,ML,R,HN,XX
RETURN